package Modelo;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;



import Modelo.Arbitro;
import Modelo.Equipo;
import Modelo.Partido;
import Modelo.Fecha;

public class Liga {
        
        protected Calendar inicioTemporada=Calendar.getInstance();
        protected Calendar finTemporada=Calendar.getInstance();
        private ArrayList<Equipo> equipos;
        private ArrayList<Arbitro> arbitros;
        private ArrayList<Partido> partidos;
        private ArrayList<Partido> partidosordenados;
        private ArrayList<Fecha> fechasCalendario;
        private  long auxfecha;
        private int auxd;
        private int auxm;
        private int auxa;
   

        
        
        
        public Liga() {
                
                this.equipos= new ArrayList<Equipo>();
                this.arbitros=new ArrayList<Arbitro> ();
                this.partidos=new ArrayList<Partido>();
                this.partidosordenados=new ArrayList<Partido>();
                this.fechasCalendario=new ArrayList<Fecha>();
                // TODO Auto-generated constructor stub
        }
        
        public void IncluirEquipo(Equipo equipo)
        {
                this.equipos.add(equipo);
        }
        
        public int cantEquipos()
        {
                return this.equipos.size();
                
        }
        public int cantPartidos(){ 
                return this.partidos.size();
        }
        
        public int cantPartidosOrdenados(){ 
                return this.partidosordenados.size();
        }
//---------------------------------------------BUSQUEDAS REALIZADAS
        public int buscarEquipos(String codigo)
        {
                
                for(int i=0; i<cantEquipos(); i++)
                        if (equipos.get(i).getCodigo().equalsIgnoreCase(codigo))
                                return i;
                        
                return -1;
                                
        }
                
        public int buscarArbitros(String cedula){
                int i;
                for(i=0; i<cantArbitros(); i++)
                        if(arbitros.get(i).getCedula().equalsIgnoreCase(cedula))
                           return i;    

        return -1;
                        
                                
        }
        public int buscarPartidos(String fecha){
                int i;
                for(i=0; i<cantPartidos(); i++)
                        if(partidos.get(i).getFecha().equalsIgnoreCase(fecha))
                           return i;    

        return -1;
                        
                                
        }
        public int buscarPartidosOrdenados(String codigo){
                int i;
                for(i=0; i<cantPartidosOrdenados(); i++)
                        if(partidosordenados.get(i).getCodigo().equalsIgnoreCase(codigo))
                           return i;    

        return -1;
                        
                                
        }
        
        public int buscarFecha(String fecha){
            int i;
            for(i=0; i<cantFechas(); i++)
                    if(fechasCalendario.get(i).getFecha().equalsIgnoreCase(fecha))
                       return i;    

    return -1;
                    
                            
    }
        
        
        //---------------------------------------------------metodos SET Y GET---------------------------------------
        public Equipo getEquipo(int i)
        {
                return this.equipos.get(i);
        }
        
        
        public ArrayList<Equipo> getEquipos() {
                
                if (this.cantEquipos()> 0) {
                        return equipos;
                }
                else 
                        return null;
                
        }

        public void setEquipos(ArrayList<Equipo> equipos) {
                this.equipos = equipos;
        }

        public ArrayList<Arbitro> getArbitros() {
                
                if (this.cantArbitros()> 0) {
                        return arbitros;
                }
                else 
                        return null;
        }

        public void setArbitros(ArrayList<Arbitro> arbitros) {
                this.arbitros = arbitros;
        }

        public void IncluirArbitro(Arbitro arbitro)
        {
                this.arbitros.add(arbitro);
        }
        
        public int cantArbitros()
        {
                return this.arbitros.size();
                
        }

        public Arbitro getArbitro(int i)
        {
                return this.arbitros.get(i);
        }

        
        public Partido getPartido(int i)
        {
                return this.partidos.get(i);
        }
        
        
        
        public ArrayList<Partido> getPartidos(){
                if (this.cantPartidos() > 0) {
                        return this.partidos;
                }
                else 
                        return null;
        }
        
        public ArrayList<Partido> getPartidosOrdenados(){
                if (this.cantPartidosOrdenados() > 0) {
                        return this.partidosordenados;
                }
                else 
                        return null;
        }
        
        public void IncluirPartido(Partido partido)
        {
                this.partidos.add(partido);
        }
        public void IncluirPartidoOrdenados(Partido partido)
        {
                this.partidosordenados.add(partido);
        }
        

        public void ordenarEquipos()
        {
                Equipo aux;
                aux =new Equipo();
                
                for(int i=0; i<cantEquipos(); i++)
                {
                        for (int j=i+1; j<cantEquipos();j++)
                        
                        {
                        if (equipos.get(i).getJg()<equipos.get(j).getJg()){
                                
                                aux=equipos.get(i);     
                                equipos.set(i,equipos.get(j));
                                equipos.set(j, aux);
                                
                        }
                        }
                }
                
                
                //Asignar posicion del Equipo
                
                for(int i=0; i<cantEquipos(); i++)
                {
                        equipos.get(i).setPosicion(i+1);
                }
                
                
                
                
        }
        
        public void calcularJuegosDiferencia(){
                
                int dif;
                
                for(int i=1; i<cantEquipos(); i++)
                {
                        dif= ((equipos.get(0).getJg()-equipos.get(i).getJg())+(equipos.get(i).getJp()-equipos.get(0).getJp()))/2;
                        equipos.get(i).setJdif(dif);
                }
                
                
        } 
        public double CalcularFactorial(int numero)
        {
                
                double factorial=1;
                
            while ( numero!=0)
            {
                  factorial=factorial*numero;
                  numero--;
                }
        return factorial;

        }
        public double CalcularDiasTemporada()
        {
                double a,b,c,dias;
                int d=cantEquipos()-2;
        a=CalcularFactorial(cantEquipos())/(2*CalcularFactorial(d));
            b=cantEquipos()/2;
        
            c=a/b;
            dias = 4*c;
                return dias;

        }
        
        public void SetInicioTemporada(){
        	
            if (inicioTemporada.get(Calendar.DAY_OF_WEEK)==2){
                inicioTemporada.add(Calendar.DATE,1);
            }
        }       
        
        
        public void CalcularFechasDeTemporada(){
        	
        	String f;
        	inicioTemporada=Calendar.getInstance();
 
        	
		       for(int i=0;i<CalcularDiasTemporada();i++)
				{  
		    	    SetInicioTemporada();
                    f= inicioTemporada.get(Calendar.DATE)+"/"+(inicioTemporada.get(Calendar.MONTH)+1)+"/"+inicioTemporada.get(Calendar.YEAR);
			        
                    Fecha fe=new Fecha();
                    fe.setDia(inicioTemporada.get(Calendar.DATE));
                    fe.setMes((inicioTemporada.get(Calendar.MONTH)+1));
                    fe.setAnno(inicioTemporada.get(Calendar.YEAR));
                    fe.setFecha(f);
                    System.out.print("\nDIAS : "+ f);
			        this.fechasCalendario.add(fe);
			        
			        	inicioTemporada.add(Calendar.DATE,1);
			        	
			       
			    }
		       System.out.print("\n Fin de Temporada: "+ finTemporada.get(Calendar.DATE)+"/"+(finTemporada.get(Calendar.MONTH)+1)+"/"+finTemporada.get(Calendar.YEAR));
		       
        }
        
        public int cantFechas()
        {
                return this.fechasCalendario.size();
                
        }
        
        
        
        public void SetFinTemporada(){
        	
		       for(int i=0;i<CalcularDiasTemporada()-1;i++)
				{
			        if (inicioTemporada.get(Calendar.DAY_OF_WEEK)==2){
			        	inicioTemporada.add(Calendar.DATE,1);
			        }
			        
			        inicioTemporada.add(Calendar.DATE,1);
   
				}
		       
		       finTemporada.set(inicioTemporada.get(Calendar.YEAR), inicioTemporada.get(Calendar.MONTH), inicioTemporada.get(Calendar.DATE));
        	
		       System.out.print("\n Fin de Temporada: "+ finTemporada.get(Calendar.DATE)+"/"+(finTemporada.get(Calendar.MONTH)+1)+"/"+finTemporada.get(Calendar.YEAR));
        }
        
        
        public int contadorFechaPartidos(String fecha){
        
        	int cont=0;
            int i;
            for(i=0; i<cantPartidos(); i++)
                    if(partidos.get(i).getFecha().equalsIgnoreCase(fecha))
                    	cont++;
                       return cont;    

        	
        }
        
//------------------------------------------ordenar y asignar fechas-------------------------------------------------------------------
 public void ordenarFechasPorDias()
{
                Partido aux;
                aux =new Partido();
                
                for(int i=0; i<cantPartidos(); i++)
                {
                        for(int j=i+1; j<cantPartidos();j++)
                        
                        {
                        if (partidos.get(i).getDia()>partidos.get(j).getDia()){
                                
                                aux=partidos.get(i);    
                                partidos.set(i,partidos.get(j));
                                partidos.set(j, aux);
                                
                        }
                        }
                } 
                
                
}

 
public int auxCalMenorAnno(){
        
        int menor=10000;
        
        
        for(int i=0; i<cantPartidos(); i++)
        {
                if(partidos.get(i).getAnno()<menor)
                menor= partidos.get(i).getAnno();
        }
        
        return menor;
}

public int auxCalMayorAnno(){
        
        int mayor=0;
        
        
        for(int i=0; i<cantPartidos(); i++)
        {
                if(partidos.get(i).getAnno()>mayor)
                mayor= partidos.get(i).getAnno();
        }
        
        return mayor;
}

public void ordenarFechas(int menor,int mayor){
        

        for(int t=menor;t<=mayor;t++)
        {
                for(int k=1;k<=12;k++)
                {
                        for(int j=1;j<=31;j++)
                        {
                                for(int i=0; i<cantPartidos(); i++)
                                {
                                        if((partidos.get(i).getAnno()==t) &&(partidos.get(i).getMes()==k)&&(partidos.get(i).getDia()==j)){
                                        
                                                
                                                
                                                Partido po =new Partido();
                                                po.setCodigo(partidos.get(i).getCodigo()); 
                                                po.setEquipoVisitante(partidos.get(i).getEquipoVisitante());
                                                po.setEquipoHomeClub(partidos.get(i).getEquipoHomeClub());
                                                po.setFecha(partidos.get(i).getFecha());
                                                po.setDia(partidos.get(i).getDia());
                                                po.setMes(partidos.get(i).getMes());
                                                po.setAnno(partidos.get(i).getAnno());
                                                po.setArbitro(partidos.get(i).getArbitro());
                                                po.setMarcadorH(partidos.get(i).getMarcadorH());
                                                po.setAuxjugadoresHomeClubImpulCarreras(partidos.get(i).getAuxjugadoresHomeClubImpulCarreras());
                                                po.setMarcadorV(partidos.get(i).getMarcadorV());
                                                po.setAuxjugadoresVImpulCarreras(partidos.get(i).getAuxjugadoresVImpulCarreras());
                                                po.setAuxjugadoresHomeRumCasa(partidos.get(i).getAuxjugadoresHomeRumCasa());
                                                po.setAuxJuadoresHomeRumVisi(partidos.get(i).getAuxJuadoresHomeRumVisi());
                                                po.setEquipoGanador(partidos.get(i).getEquipoGanador());
                                                po.setEquipoPerdedor(partidos.get(i).getEquipoPerdedor());
                                                po.setInnings(partidos.get(i).getInnings());
                                                this.partidosordenados.add(po);
                                                
                                                
                                        }

                                }
                        }
                }
        }
}

public void EliminarFechas(){
	
    int i;
    int cont=0;
    for(i=0; i<cantFechas(); i++)
    	{
    	cont=contadorFechaPartidos(fechasCalendario.get(i).getFecha());
            if(cont==(cantEquipos()/2)){
            	System.out.print("FECHA ELIMINADA "+fechasCalendario.get(i).getFecha());
            	fechasCalendario.remove(i);
            }
    	}


         
}
        
public String asignarFecha2(int j,int i,int k, String EA,String EB){
	
	System.out.print("\nDentro Asignar fecha");
    
    String fe="";
    String equipoA;
    String equipoB;

    int posfecha=0;
    int auxcont=0;
    int  auxi=0;
    int cont=0;
   
    
    auxcont=cantFechas()/4;
    System.out.print("\nCantidad fecha entre dos"+auxcont);
    
    
  int aux=cantEquipos()/2;
  
  int auxindice=0;
  if (i==0){
 	 posfecha=0;
 	 auxindice=auxcont;}
 	 else
 		 if(i==1){posfecha=auxcont;
 		auxindice=2*auxcont; }
 		 else
 			 if(i==2){posfecha=2*auxcont;
 			auxindice=3*auxcont;}
 			 else
 			 {posfecha=3*auxcont;
 			  auxindice=4*auxcont;}
  System.out.print("\nVALOR DE i "+i+ " VALOR DE posfecha "+ posfecha);
  
  
     
      int bandera=1;
      int auxj=0;
      int auxind=cantPartidos()-1;
      String auxfe;
      int bandera2=0;
      
    while(bandera==1){
		     for(int t=posfecha;t<auxindice;t++){
		    	 int disponible=1;
		    	 System.out.print("\nVALOR DE posFECHA "+ posfecha);

		    	 
		    	 if((j!=0)&&(t==posfecha)&&(j<(auxcont-1))){
		    		 if (k==j+1)
		    		 {t=posfecha+j;}
		    		 else
		    		 { 
		    			auxfe=partidos.get(auxind).getFecha();
		    			auxi=buscarFecha(auxfe);
		    				t=auxi;
		    			 
		    			 }
		    		 
		    	 }
		    	 
		    	 if((j==auxj)&&(j!=0)&&(bandera2==1)){
			    		t=posfecha;
			    	 }
		    	 

		    	 
		    	 
		    	 System.out.print("\nVALOR DE J "+ j);
		    	  System.out.print("\nVALOR DE t DENTRO "+ t);
		    	 fe=fechasCalendario.get(t).getFecha();
		    	 
		    	 System.out.print("\nCANTIDAD PARTIDOS "+cantPartidos());
				    	 for(int p=0;p<cantPartidos();p++){
				    		 
                          	 equipoA=partidos.get(p).getEquipoVisitante();  
                             equipoB=partidos.get(p).getEquipoHomeClub();

                                 if((fe.equalsIgnoreCase(partidos.get(p).getFecha()))&&(EA.equalsIgnoreCase(equipoA)||EA.equalsIgnoreCase(equipoB)||EB.equalsIgnoreCase(equipoA)||EB.equalsIgnoreCase(equipoB)))
                                 {
                                         
                                         disponible=0;
                                         System.out.print("\nFECHA AUX "+fe);
                                         System.out.print("\nFECHA PARTIDO "+partidos.get(p).getFecha());
                                         System.out.print("\nEQUIPO A "+EA);
                                         System.out.print("\nEQUIPO B "+EB);
                                         System.out.print("\nEQUIPO A PARTIDO "+equipoA);
                                         System.out.print("\nEQUIPO B PARTIDO "+equipoB);
                                         System.out.print("\nFECHA NOOO DISPONIBLE "+fe);
                                        // auxcont++;
                                       //  pos=pos+cantPartidos();
                                         
                                         
                                 }
				    		 
				    	 }
				    if(disponible==0){
				    	
                		  if(t==auxindice-1)
                		    { 
                			  bandera2=1;
                			  auxj=j;
                			  t=posfecha;
                		    }else
                		    	bandera2=0;
				    	
				    
				    	}	 
				    else{

				    	bandera=0;
				    	t=t+auxcont;
				    }	 
				   
		     }
		     
     }
	            cont=contadorFechaPartidos(fe);                
                
	            
                
                auxi=buscarFecha(fe);
                System.out.print("\nFECHA "+fe+ " CONTADOR DE FECHAS"+ cont);
                System.out.print("\nPOSICION BUSCADA "+auxi);
                
                 // fe= fecha.get(Calendar.DATE)+"/"+(fecha.get(Calendar.MONTH)+1)+"/"+fecha.get(Calendar.YEAR);
                 auxd=fechasCalendario.get(auxi).getDia();
                 auxm=fechasCalendario.get(auxi).getMes();
                 auxa=fechasCalendario.get(auxi).getAnno();
                 System.out.print("\nFECHA ASIGNADA "+fe);
                 System.out.print("\nEQUIPO A ASIGNADO "+EA);
                 System.out.print("\nEQUIPO B ASIGNADO "+EB);
	
	
 
    return fe;
}

 
public String asignarFecha(String EA,String EB)
        {
	System.out.print("\nDentro Asignar fecha");
         
       String fe;
       String equipoA;
       String equipoB;
   
  
       int auxcont=0;
       int cont=0;
       int auxi=0;
       

                         
     fe="";
            
     System.out.print("\nCANTIDAD DE FECHAS "+cantFechas());


		    	 int bandera=1;
		  
		    	 
		          while(bandera==1){
		        	
		        	  int disponible=1;
		        	  
		        	  
		        	
		                fe=fechasCalendario.get(auxcont).getFecha();
		                System.out.print("\nFechas For "+fe);
		                
		                cont=contadorFechaPartidos(fe); 
		                
		                            System.out.print("\nCANTIDAD PARTIDOS "+cantPartidos());
		                            
		                            
		                           for(int pos=0;pos<cantPartidos();pos++){ 
		
		                               //  System.out.print("\nPOS partidos "+pos);
		                              	 equipoA=partidos.get(pos).getEquipoVisitante();  
		                                 equipoB=partidos.get(pos).getEquipoHomeClub();
		
			                                 if((fe.equalsIgnoreCase(partidos.get(pos).getFecha()))&&(EA.equalsIgnoreCase(equipoA)||EA.equalsIgnoreCase(equipoB)||EB.equalsIgnoreCase(equipoA)||EB.equalsIgnoreCase(equipoB)))
			                                 {
			                                         
			                                         disponible=0;
			                                         System.out.print("\nFECHA AUX "+fe);
			                                         System.out.print("\nFECHA PARTIDO "+partidos.get(pos).getFecha());
			                                         System.out.print("\nEQUIPO A "+EA);
			                                         System.out.print("\nEQUIPO B "+EB);
			                                         System.out.print("\nEQUIPO A PARTIDO "+equipoA);
			                                         System.out.print("\nEQUIPO B PARTIDO "+equipoB);
			                                         System.out.print("\nFECHA NOOO DISPONIBLE "+fe);
			                                        // auxcont++;
			                                       //  pos=pos+cantPartidos();
			                                         
			                                         
			                                 }
		                           }
		                              
		                                 
			                               if(disponible==0){
			                            	   
					                            if(auxcont<cantFechas()-1)
					                            	   {auxcont++;}
					                            	   else{
					                            		  if(auxcont==cantFechas()-1)
					                            		    {auxcont=0;}
			                                 }
			                               }
			                               else{
			                                	 bandera=0;
			                                 }  
			                               System.out.print("VALOR DEL CONTADOR "+auxcont);
			                               
		                }  
		               
		                            
		            cont=contadorFechaPartidos(fe);                
		                                 
		            
                   
                    auxi=buscarFecha(fe);
                    System.out.print("\nFECHA "+fe+ " CONTADOR DE FECHAS"+ cont);
                    System.out.print("\nPOSICION BUSCADA "+auxi);
                    
                     // fe= fecha.get(Calendar.DATE)+"/"+(fecha.get(Calendar.MONTH)+1)+"/"+fecha.get(Calendar.YEAR);
                     auxd=fechasCalendario.get(auxi).getDia();
                     auxm=fechasCalendario.get(auxi).getMes();
                     auxa=fechasCalendario.get(auxi).getAnno();
                     System.out.print("\nFECHA ASIGNADA "+fe);
 return fe;
        }
//--------------------------------------------------GENERAR PARTIDOS-----------------------------------------------------
        public void GenerarTodosLosPartidos()
        {   
        
                
                long codigo=0000;
                String codEqHC,codEqV;
                
                for (int i=0; i<4;i++)
                {
                                
                        for (int j=0; j<cantEquipos();j++){                             
                                        for (int k=j+1; k<cantEquipos();k++)
                                  
                                        {   codigo++;
                                        
                                                String f;
                                                Partido partido = new Partido();
                                                partido.setCodigo(String.valueOf(codigo));
                                                
                                                if(i<2){
                                                    partido.setEquipoVisitante(equipos.get(j).getNombre());
                                                    partido.setEquipoHomeClub(equipos.get(k).getNombre());
                                                    codEqHC=equipos.get(k).getCodigo();
                                                    codEqV =equipos.get(j).getCodigo();
                                                    
                                          		  System.out.print("\nCANTIDAD EQUIPOS ENTRE DOS "+cantEquipos()/2);
                                            	 
                                          		  if((cantEquipos()/2)%2!=0){
                                            		  System.out.print("\nES IMPAR ");
                                                  f=asignarFecha2(j, i,k,equipos.get(j).getNombre(),equipos.get(k).getNombre());
                                                  } 
                                                  else{ 
                                                    f=asignarFecha(equipos.get(j).getNombre(),equipos.get(k).getNombre());
                                                    System.out.print("FUERA DE Asignar fecha");
                                                    EliminarFechas();
                                                  }
                                                }
                                                else{
                                                    partido.setEquipoHomeClub(equipos.get(j).getNombre());
                                                    partido.setEquipoVisitante(equipos.get(k).getNombre());
                                                    codEqHC=equipos.get(j).getCodigo();
                                                    codEqV =equipos.get(k).getCodigo();
                                                    
                                            		  if((cantEquipos()/2)%2!=0){
                                                		  System.out.print("\nES IMPAR ");
                                                      f=asignarFecha2(j, i,k,equipos.get(j).getNombre(),equipos.get(k).getNombre());
                                                      } 
                                            		  else{
                                                    f=asignarFecha(equipos.get(k).getNombre(),equipos.get(j).getNombre());
                                                    System.out.print("FUERA DE Asignar fecha");
                                                    EliminarFechas();
                                            		}
                                                }
                                        

                                                partido.setFecha(f);
                                                partido.setDia(auxd);
                                                partido.setMes(auxm);
                                                partido.setAnno(auxa);
                                                //partido.setAuxfecha(auxfecha);
                                                
                                                
                                            int t=0; 
                                                while(t<cantArbitros())
                                                {
                                                String arbitro=arbitros.get(t).getNombre();
                                                 int a=BuscarArbitro(f,arbitro);
                                                 if (a==-1)
                                                 {   partido.setArbitro(arbitro);
                                                     int y=arbitros.get(t).getContJuegosArb();
                                                     arbitros.get(t).setContJuegosArb(y+1);
                                                         t=cantArbitros()+1;
                                                 }
                                                 else
                                                t++; 
                                                }
                                                
                                                partido.GenerarCarreras();
                                                incluirJugadoresHomeClubImpulCarreras(codEqHC,partido.getMarcadorH(),partido.getAuxjugadoresHomeClubImpulCarreras());
                                                incluirJugadoresVImpulCarreras(codEqV,partido.getMarcadorV(),partido.getAuxjugadoresVImpulCarreras());
                                                if((partido.getMarcadorV()>=2) && (partido.getMarcadorH()>=2)){
                                                        
                                                        calcularHomeRum(codEqHC,codEqV,partido.getAuxjugadoresHomeRumCasa(),partido.getAuxJuadoresHomeRumVisi());
                                                }
                                                
                                                if (partido.calcularEquipoGanador().equalsIgnoreCase(equipos.get(j).getNombre())){
                                                        equipos.get(j).setJg(equipos.get(j).getJg()+1);
                                                        equipos.get(k).setJp(equipos.get(k).getJp()+1);
                                                }else
                                                {       equipos.get(k).setJg(equipos.get(k).getJg()+1);
                                                    equipos.get(j).setJp(equipos.get(j).getJp()+1);
                                                }
                                                
                                                equipos.get(j).setJj(equipos.get(j).getJj()+1);
                                                equipos.get(k).setJj(equipos.get(k).getJj()+1);
                                                this.partidos.add(partido);
                                        
                                        }
                                        
                                   }
                                        
                                }


           ordenarFechas(auxCalMenorAnno(),auxCalMayorAnno());
           ordenarEquipos();
           calcularJuegosDiferencia();
        }

        
        public int BuscarArbitro(String f, String arbitro)
        {
                           for(int i=0; i<cantPartidos(); i++)
                        if((f.equalsIgnoreCase(partidos.get(i).getFecha()))&& (partidos.get(i).getArbitro().equalsIgnoreCase(arbitro)))
                                   return i;    
                        
                return -1;
        
        }
        
        
public void calcularHomeRum(String CodEquipoHC,String CodEquipoV,ArrayList<String> auxjugadoresHomeRumCasa,ArrayList<String>  auxJuadoresHomeRumVisi){
        
        int homerum = (int)Math.floor(Math.random()*2);
        if(homerum!=0)
        {
                int equipo=0;
                while(equipo==0)
                {
                 equipo=(int)Math.floor(Math.random()*2);
                }
        if(equipo==1)
        {
                int k=buscarEquipos(CodEquipoHC);
                int indicejugador=(int)Math.floor(Math.random()*9);
                
                String jugador = equipos.get(k).getJugadores().get(indicejugador).getNombre();
                auxjugadoresHomeRumCasa.add(jugador);
                
                int hr = equipos.get(k).getJugador(indicejugador).getCuadrangulares()+1;
                equipos.get(k).getJugador(indicejugador).setCuadrangulares(hr);
                
                
        }
        else
        {
                int k=buscarEquipos(CodEquipoV);
                int indicejugador=(int)Math.floor(Math.random()*9);
                String jugador = equipos.get(k).getJugadores().get(indicejugador).getNombre();
             auxJuadoresHomeRumVisi.add(jugador);

             int hr = equipos.get(k).getJugador(indicejugador).getCuadrangulares()+1;
                equipos.get(k).getJugador(indicejugador).setCuadrangulares(hr);
                
        }
        }
        
}

//---------------------------------------------------Jugadores que tienen carreras impulsadas-------------------------------
public void incluirJugadoresHomeClubImpulCarreras(String CodEquipoHC,int marcadorH,ArrayList<String>  auxjugadoresHomeClubImpulCarreras)

{
        int k=buscarEquipos(CodEquipoHC);
        int carreras=0;
        int i=0;
        while (i<=marcadorH)
        {       
                int indicejugador = (int)Math.floor(Math.random()*9);
                String jugador = equipos.get(k).getJugadores().get(indicejugador).getNombre();
                carreras =equipos.get(k).getJugadores().get(indicejugador).getCarrerasImp();
                carreras++;
                equipos.get(k).getJugadores().get(indicejugador).setCarrerasImp(carreras);
                auxjugadoresHomeClubImpulCarreras.add(jugador);
                i++;
        
        }

                
} 


public void incluirJugadoresVImpulCarreras(String CodEquipoV,int marcadorV,ArrayList<String>  auxjugadoresVImpulCarreras)
{
        int carreras=0;
        int j=buscarEquipos(CodEquipoV);

        int p =0;
        while(p<=marcadorV)
        {

                int indicejugador = (int)Math.floor(Math.random()*9);
                String jugador = equipos.get(j).getJugadores().get(indicejugador).getNombre();
                
                carreras =equipos.get(j).getJugadores().get(indicejugador).getCarrerasImp();
                carreras++;
                equipos.get(j).getJugadores().get(indicejugador).setCarrerasImp(carreras);
                auxjugadoresVImpulCarreras.add(jugador);
                
                p++;
                }
        }
}







